how to get a software development job